package ManageSystem;
// 管理人员子类：继承Employee，实现管理人员的薪资计算和工资条生成
public class Manager extends Employee {
    // 管理人员特有属性：月薪、奖金
    private double monthlySalary;
    private double bonus;
    // 构造方法：初始化父类公共属性 + 子类特有属性
    public Manager(String name, String empId, double monthlySalary, double bonus) {
        super(name, empId);
        this.monthlySalary = monthlySalary;
        this.bonus = bonus;
    }
    // 实现父类的“计算薪资”方法：直接累加月薪和奖金（无时长限制）
    @Override
    public double calculateSalary() {
        return monthlySalary + bonus;
    }
    // 实现父类的“生成工资条”方法：拼接管理人员的工资条信息
    @Override
    public String generatePaySlip() {
        double salary = calculateSalary(); // 调用自身的薪资计算方法
        // 用String拼接工资条格式
        return "=== 工资条 ===\n" +
                "员工类型：管理人员\n" +
                "姓名：" + super.getName() + "\n" +
                "工号：" + super.getEmpId() + "\n" +
                "月薪：" + monthlySalary + "元\n" +
                "奖金：" + bonus + "元\n" +
                "本月薪资：" + salary + "元\n" +
                "=============";
    }
    // Getter/Setter：提供子类特有属性的访问和修改入口
    public double getMonthlySalary() {
        return monthlySalary;
    }
    public void setMonthlySalary(double monthlySalary) {
        this.monthlySalary = monthlySalary;
    }
    public double getBonus() {
        return bonus;
    }
    public void setBonus(double bonus) {
        this.bonus = bonus;
    }
}